In dieser Vorlesung erhalten Studierende einen praxisnahen und fundierten Einstieg in die Welt des High Performance Computing (HPC). In diesem Bereich geht es um die Handhabung große Datenmengen und darum, komplexe Simulationen und rechenintensive Modelle effizient auf modernen Hochleistungsrechnern anwenden zu können.
Die Vorlesung umfasst eine Einführung der Hardware- und Softwarearchitekturen von HPC-Ökosysteme und diskutiert typische Herausforderungen und Lösungswege für Problemstellungen, die mittels HPC gelöst werden können. Dies geschieht anhand konkreter Beispiele, vor allem im Bereich von Mikrostruktur- und Materialsimulationen. Darauf aufbauend behandeln wir verschiedene Programmiermodelle für paralleles Rechnen insbesondere die Parallelisierung über Threads mit „pthreads“ und „OpenMP“, und parallele Berechnungen auf verteilten Computersystemen mit „Message Passing Interface“ (MPI).
In einem begleitendem Computerpraktikum setzen die Studierenden die Lehrinhalte in der Praxis um. Sie schreiben parallele Programme, analysieren deren Performance und optimieren sie Schritt für Schritt. Dabei wechseln sich kurze Aufgaben, Mini-Projekte und strukturierte Experimente ab, um ein Gespür für praktische Parallelisierung zu entwickeln.
• Parallelisierung über Threads mit „pthreads“ und „OpenMP“
• Parallelen Berechnungen auf verteilten Computersystemen mit „Message Passing Interface“ (MPI)
• Beispiel für den Einsatz von Parallelisierung für numerische Simulationen
• SIMD-Vektorisierung
• Einführung in das Arbeiten auf HPC-Clustern, z.B. Job-Scheduler
• Anwendung der Lehrinhalte in einem begleitendem Computerpraktikum